package com.example.ailiyuncloud.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.ailiyuncloud.dto.CommodityConfigDto;
import com.example.ailiyuncloud.pojo.Result;
import com.example.ailiyuncloud.service.CommoditySkuConfigService;
import com.example.ailiyuncloud.vo.AddCommodityConfigVO;
import com.example.ailiyuncloud.vo.QueryCommoditySkuConfigVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.web.PageableDefault;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @Author: lqj
 * @Date: 2024-06-13 10:40:01
 * @Description:
 */
@Slf4j
@RestController
@RequestMapping("/skuConfig")
public class CommoditySkuConfigController {

    @Autowired
    private CommoditySkuConfigService commoditySkuConfigService;

    @PostMapping("/add")
    public Result<String> addCommoditySkuController(@RequestBody List<AddCommodityConfigVO> commodityConfigVOList) {
        try {
            return Result.OK("SKU配置添加成功！", commoditySkuConfigService.addCommodityConfigService(commodityConfigVOList));
        } catch (Exception e) {
            log.error(e.getMessage());
            return Result.error("添加配置失败", e.getMessage());
        }

    }


    @PostMapping("/query")
    public Result<IPage<CommodityConfigDto>> queryCommoditySkuController(@PageableDefault Page page,
                                                                         @RequestBody QueryCommoditySkuConfigVO queryCommoditySkuConfigVO) {
        return Result.OK(commoditySkuConfigService.queryCommoditySkuConfigService(page, queryCommoditySkuConfigVO));
    }
}
